package com.kkwrite.regimen.common.entity.dto.point;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

/**
 * Created by lisha on 2018/7/21 16:45.
 *
 * @author lisha
 */
public class PageablePointRecordOutDTO implements Serializable {
    private static final long serialVersionUID = 8651449243921284228L;

    private Integer totalPages;
    private Long totalElements;
    private List<OutData> recordList;

    public PageablePointRecordOutDTO() {
        super();
        this.recordList = new ArrayList<>();
    }

    public OutData createOutData() {
        return new OutData();
    }

    public Integer getTotalPages() {
        return totalPages;
    }

    public void setTotalPages(Integer totalPages) {
        this.totalPages = totalPages;
    }

    public Long getTotalElements() {
        return totalElements;
    }

    public void setTotalElements(Long totalElements) {
        this.totalElements = totalElements;
    }

    public List<OutData> getRecordList() {
        return recordList;
    }

    public void setRecordList(List<OutData> recordList) {
        this.recordList = recordList;
    }

    @Override
    public String toString() {
        return "PageablePointRecordOutDTO{" +
                "totalPages=" + totalPages +
                ", totalElements=" + totalElements +
                ", recordList=" + recordList +
                '}';
    }

	public class OutData implements Serializable {
		private static final long serialVersionUID = -3744918271705110133L;

		private String pointSource;
		private Integer pointValue;
		private LocalDateTime createTime;
		private Long pointTotal;
		private Integer userId;

		public String getPointSource() {
			return pointSource;
		}

		public void setPointSource(String pointSource) {
			this.pointSource = pointSource;
		}

		public Integer getPointValue() {
			return pointValue;
		}

		public void setPointValue(Integer pointValue) {
			this.pointValue = pointValue;
		}

		public LocalDateTime getCreateTime() {
			return createTime;
		}

		public void setCreateTime(LocalDateTime createTime) {
			this.createTime = createTime;
		}

		public Long getPointTotal() {
			return pointTotal;
		}

		public void setPointTotal(Long pointTotal) {
			this.pointTotal = pointTotal;
		}

		public Integer getUserId() {
			return userId;
		}

		public void setUserId(Integer userId) {
			this.userId = userId;
		}

		@Override
		public String toString() {
			return "OutData [pointSource=" + pointSource + ", pointValue="
					+ pointValue + ", createTime=" + createTime
					+ ", pointTotal=" + pointTotal + ", userId=" + userId + "]";
		}

	}

}
